<feed xmlns='http://www.w3.org/2005/Atom'>
<title>home-sveltekit/src/routes/grocery/[id], branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kagamino.dev/home-sveltekit/atom?h=main</id>
<link rel='self' href='https://git.kagamino.dev/home-sveltekit/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/'/>
<updated>2026-10-05T22:25:15Z</updated>
<entry>
<title>fix: save grocery category immediately on select change</title>
<updated>2026-10-05T22:25:15Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-10-05T22:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=f7366834ee41bbb4ac8a9a252224241a884af41b'/>
<id>urn:sha1:f7366834ee41bbb4ac8a9a252224241a884af41b</id>
<content type='text'>
Picking a category only committed on blur, so the save fired after focus
left the select. Save on change instead, flush any pick made while a
previous submit is in flight, and only re-sync fields when navigating to
a different item so rapid re-picks aren't dropped or reverted by the
post-save reload.
</content>
</entry>
<entry>
<title>Restyle to a flat Miniflux-like design</title>
<updated>2026-10-05T22:05:49Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-10-05T22:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=f6563f22a9a0c9d876f80e8f758b902dcc3bec78'/>
<id>urn:sha1:f6563f22a9a0c9d876f80e8f758b902dcc3bec78</id>
<content type='text'>
- hairline separators instead of bordered rows, square corners, no shadows
- white background, system font stack, slimmer headings
- pine green accent; amber warn ramp carries the attention marks (due/late/mid)
- no hover backgrounds: hover is color/fill-state only
- reserve bold nav tab width and the scrollbar gutter so navigation never shifts layout
</content>
</entry>
<entry>
<title>Scope badges, titles, and one-off styles; add Button outline</title>
<updated>2026-09-12T20:26:09Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-09-12T20:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=2a7c4f969874b850e30170f3aef5b578677220b0'/>
<id>urn:sha1:2a7c4f969874b850e30170f3aef5b578677220b0</id>
<content type='text'>
ScoreBadge/StatusBadge carry their own color scales, no
bg-*/text-* globals. SectionTitle unifies category-name and
section-title dupes (h2/h3 via level prop). Grocery add-bar
buttons use Button, new outline variant for the secondary
action. save-status moves into its only page. Delete dead
globals and page overrides.
</content>
</entry>
<entry>
<title>Extract Row primitive, migrate all call sites</title>
<updated>2026-09-12T20:24:19Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-09-12T20:24:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=5f0a73920034741236034ed7a721c68eceb8ab82'/>
<id>urn:sha1:5f0a73920034741236034ed7a721c68eceb8ab82</id>
<content type='text'>
Variants card/ref/plain with scoped skin. Padding and wrap
one-offs via style prop; draggable and handlers via rest
spread. GroceryRow absorbs item-btn/ref-link globals with
local names; BestRef scopes best-ref. Delete item-* globals
and dead page overrides.
</content>
</entry>
<entry>
<title>Extract Button primitive, migrate all call sites</title>
<updated>2026-09-12T20:22:33Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-09-12T20:22:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=1cef356be95a67f95d40f5b0b131f98d11f13c13'/>
<id>urn:sha1:1cef356be95a67f95d40f5b0b131f98d11f13c13</id>
<content type='text'>
Variants primary/accent/ghost/done with scoped styles.
Disabled handling unified; block/size/style props cover
login stretch, done-lg, save-check positioning.
Delete btn-* globals and dead page overrides.
</content>
</entry>
<entry>
<title>Share grocery row component and list-page form actions</title>
<updated>2026-09-08T07:25:03Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-09-08T07:25:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=3148742b323ab71f1ef768a2f4dc353c00944034'/>
<id>urn:sha1:3148742b323ab71f1ef768a2f4dc353c00944034</id>
<content type='text'>
- GroceryRow.svelte renders the toggle row (checkbox, name, best ref,
  arrow link) for both the list and catalog pages
- grocery-actions.ts grows full form actions: addCategoryAction,
  addGroceryAction, addGroceryAndEditAction, deleteByIdAction; the
  categories/groceries route servers become thin wrappers
</content>
</entry>
<entry>
<title>Consolidate duplicated page CSS into app.css, share TestDb type</title>
<updated>2026-09-08T07:12:25Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-09-08T07:12:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=7d85a18867ca0fe2310218c63cfc696c0f916171'/>
<id>urn:sha1:7d85a18867ca0fe2310218c63cfc696c0f916171</id>
<content type='text'>
- Move .page-header/.back-link/.input-invalid/.save-status/.btn-done
  (plus hover/variant rules) into app.css as shared route scaffolding;
  delete per-page scoped copies
- Unify drifted values: page-header padding 1rem -&gt; 1.25rem (routine
  page), empty-state spacing 0.75/1.5rem -&gt; 1/2rem (grocery detail),
  save-status margin -0.25rem applied on both pages, back-link margin
  1.5rem -&gt; 1rem (grocery detail); routine page's large Fait button is
  kept via a .btn-done-lg modifier
- Export TestDb from test-helper and use it in the five db/service
  test files to shrink duplicated fixture scaffolding
</content>
</entry>
<entry>
<title>fix: eliminate Svelte state_referenced_locally build warnings</title>
<updated>2026-07-29T13:09:20Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-29T13:09:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=910977ccfaa520486b0cbdf863a764c0c388f4a2'/>
<id>urn:sha1:910977ccfaa520486b0cbdf863a764c0c388f4a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: prevent layout shift when save confirmation appears</title>
<updated>2026-07-29T08:17:27Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-29T08:17:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=94212274cecf4da5f94b246a7ac9ab87077fb77f'/>
<id>urn:sha1:94212274cecf4da5f94b246a7ac9ab87077fb77f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: auto-save item name/category on blur, remove explicit save button</title>
<updated>2026-07-28T20:27:03Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-28T20:27:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=27494531c6461bb8d63f6ec2521a336203cbe0e5'/>
<id>urn:sha1:27494531c6461bb8d63f6ec2521a336203cbe0e5</id>
<content type='text'>
</content>
</entry>
</feed>
